package com.gt.service.projectMember;

import com.gt.entity.projectMember.ProjectMember;
import java.util.List;

/**
 * 项目成员业务接口
 * @author why
 */
public interface ProjectMemberService {

	// Methods

   /**
	* 添加项目成员
	*  id 主键值
	*  memberEmail 成员邮箱
	*  isAdmin 是否有管理权限1：有  2:无（管理员可以添加成员和删除成员）
	*  state 成员状态：1:启用   2：禁用
	*  projectId 项目id
	*  createTime 创建时间
	*  updateTime 修改时间
	* @return Long id 添加后的数据库主键值
	*/
	public Long add(ProjectMember projectMember);

   /**
	* 删除项目成员
	*  id 主键值
	*/
	public void delete(Long id);

   /**
	* 更新项目成员
	*  id 主键值
	*  memberEmail 成员邮箱
	*  isAdmin 是否有管理权限1：有  2:无（管理员可以添加成员和删除成员）
	*  state 成员状态：1:启用   2：禁用
	*  projectId 项目id
	*  createTime 创建时间
	*  updateTime 修改时间
	*/
	public void edit(ProjectMember projectMember);

   /**
	* 主键查询项目成员
	*  id 主键值
	* @return ProjectMember 实体
	*/
	public ProjectMember queryById(Long id);

   /**
	* 根据条件查询项目成员列表
	*  id 主键值
	*  memberEmail 成员邮箱
	*  isAdmin 是否有管理权限1：有  2:无（管理员可以添加成员和删除成员）
	*  state 成员状态：1:启用   2：禁用
	*  projectId 项目id
	*  createTime 创建时间
	*  updateTime 修改时间
	* @return List<ProjectMember> 实体List
	*/
	public List<ProjectMember> queryList(ProjectMember projectMember);

	/**
	 * 根据项目id查询成员信息
	 * @param projectId
	 * @return
	 */
	public List<ProjectMember> querySelectMemberByProjectId(Long projectId);

}